<template>
  <div class="goods-list">


    <!-- <router-link tag="div" :to="'/home/goodsinfo/' + item.id" class="goods-item" v-for="item in goodslist" :key="item.id"> -->
    <div @click="goDetail(item.id)" class="goods-item" v-for="item in goodslist" :key="item.id">
      <img :src="item.img_url" alt="">
      <h1 class="title">{{item.title}}</h1>
      <div class="info">
        <p class="price">
          <span class="now">￥{{item.sell_price}}</span>
          <span class="old">￥{{item.market_price}}</span>
        </p>
        <p class="sell">
          <span>热卖中</span>
          <span>剩{{item.stock_quantity}}件</span>
        </p>
      </div>
    </div>

    <mt-button type="danger" size="large" @click="getMore">加载更多</mt-button>

  </div>
</template>

<script>
  export default {
    data() {
      return {
        // 商品列表
        goodslist: [],
        pageindex: 1
      }
    },
    created() {
      this.getGoodsList()
    },
    methods: {
      getGoodsList() {
        this.$http.get("api/getgoods?pageindex=" + this.pageindex).then(res => {
          if (res.body.status == 0) {
            // this.goodslist = res.body.message
            this.goodslist = this.goodslist.concat(res.body.message)
          }
        })
      },
      getMore() {
        this.pageindex++;
        this.getGoodsList()
      },
      goDetail(id) {
        // 使用js来进行路由跳转
        // 注意: 一定区分this.$route 和thos.$router 这两个对象
        // 其中: this.$route 是路由参数对象,所有路由中的参数, params query都属于他
        // 其中: this.$router是路由导航对象 用途:可以方便的使用 js代码实现路由的前进后退 跳转到新的url地址

        // 1.最简单的
        // this.$router.push('/home/goodsinfo/' + id)

        // 2.传递对象
        // this.$router.push({ path: '/home/goodsinfo/+ id' })

        // 3.传递一个命名路由
        this.$router.push({ name: 'goodsinfo', params: { id: id } })
      }
    },
  }
</script>

<style lang="scss" scoped>
  .goods-list {
    display: flex;
    flex-wrap: wrap;
    padding: 8px;
    justify-content: space-between;
  }

  .goods-item {
    width: 49%;
    border: 1px solid #ccc;
    box-shadow: 0 0 8px #ccc;
    margin: 4px 0;
    padding: 2px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 293px;

    img {
      width: 100%;
    }

    .title {
      font-size: 14px;
    }

    .info {
      background-color: #eee;

      p {
        margin: 0;
        padding: 5px;
      }

      .price {
        .now {
          color: red;
          font-weight: bold;
          font-size: 16px;
        }

        .old {
          text-decoration: line-through;
          font-size: 12px;
          margin-left: 10px;
        }
      }

      .sell {
        display: flex;
        justify-content: space-between;
        font-size: 13px;
      }
    }
  }
</style>